#pragma once
#include <OgreVector3.h>
#include <vector>
class Interpolation;
class Linear;
class BSpline;
class Bezier;
class HSpline;
class PointSegment;
class ControlPoint;
class ControlPointManager;
class TrackPoint;

struct Vector6
{
	Ogre::Vector3 pos, ori;
	Vector6(Ogre::Vector3 p, Ogre::Vector3 o)
		:pos(p), ori(o)
	{
	}
};
typedef std::vector<Vector6> Vector6s;

class Seg4V
{
public:
	Seg4V(Vector6 _p1, Vector6 _p2, Vector6 _p3, Vector6 _p4)
		:p1(_p1), p2(_p2), p3(_p3), p4(_p4)
	{
	}
	Vector6 p1, p2, p3, p4;
};
typedef std::vector<Seg4V> Seg4Vs;
